On Guiding the Augmentation of an Automated Test Suite via Mutation Analysis
ثبت نشده
چکیده
Mutation testing has traditionally been used as a defect injection technique to assess the effectiveness of a test suite as represented by a “mutation score.” Recently, mutation test tools have become more efficient, and research in mutation analysis is experiencing growth. Mutation analysis entails adding or modifying test cases until the test suite is sufficient to detect as many mutants as possible and the mutation score is satisfactory. The augmented test suite resulting from mutation analysis may reveal latent faults and provides a stronger test suite to detect future errors which might be injected. Software engineers often look for guidance on how to augment their test suite using information provided by statement and/or branch coverage tools. As the use of mutation analysis grows, software engineers will want to know how the emerging technique compares with and/or complements coverage analysis for guiding the augmentation of an automated test suite. Additionally, software engineers can benefit from an enhanced understanding of efficient mutation analysis techniques. To address this need for additional information, we conducted an empirical study of the use of mutation analysis on two open source projects. Our results indicate that a focused effort on increasing mutation score leads to a corresponding increase in statement and branch coverage to the point that all three measures reach a maximum but leave some types of code structures uncovered. Mutation analysis guides the creation of additional “common programmer error” tests beyond those written to increase statement and branch coverage. We also found that 74% of our chosen set of mutation operators is useful on average for producing new tests. The remaining 26% of mutation operators did not produce new test cases because their mutants were immediately detected by the initial test suite, indirectly detected by test suites we added to detect other mutants or were not able to be detected by any test.
منابع مشابه
I-1: Screening of Subfertile Men for Testicularlar Carcinoma In Situ by An Automated Image Analysis-Based Cytological Test of The Ejaculate
Background: Testicular cancer (TC) is usually diagnosed after manifestation of an overt tumour. Tumour formation is preceded by a pre-invasive and asymptomatic stage, carcinoma in situ (CIS) testis, except for very rare subtypes. The CIS cells are located within seminiferous tubules but can be exfoliated and detected in ejaculates with specific CIS markers. Materials and Methods: We have built ...
متن کاملMutation-driven Generation of Oracles and Unit Tests
To assess the quality of test suites, mutation analysis seeds artificial defects (mutations) into programs; a nondetected mutation indicates a weakness in the test suite. We present an automated approach to generate unit tests that detect these mutations for object-oriented classes. This has two advantages: First, the resulting test suite is optimized towards finding defects rather than coverin...
متن کاملFunctional testing of feature model analysis tools: a test suite
A Feature Model (FM) is a compact representation of all the products of a software product line. Automated analysis of FMs is rapidly gaining importance: new operations of analysis have been proposed, new tools have been developed to support those operations and different logical paradigms and algorithms have been proposed to perform them. Implementing operations is a complex task that easily l...
متن کاملUsing State Infection Conditions to Detect Equivalent Mutants and Speed up Mutation Analysis
Mutation analysis evaluates test suites and testing techniques by measuring how well they detect seeded defects (mutants). Even though well established in research, mutation analysis is rarely used in practice due to scalability problems — there are multiple mutations per code statement leading to a large number of mutants, and hence executions of the test suite. In addition, the use of mutatio...
متن کاملAll - Termination ( SCP )
We recently introduced the All-Termination(T ) problem: given a termination solver T and a function F , find every subset of the formal parameters to F whose consideration is sufficient to show, using T , that F terminates. These subsets can be harnessed by a theorem prover to locate and justify induction schemes, and are also useful for guiding rewriting heuristics and ensuring their terminati...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2008